body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 500;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
hr,
button,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  margin: 0;
  padding: 0;
}

ul,
li,
ol,
li {
  list-style: none;
}

address,
cite,
dfn,
em,
i,
var {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

a:focus,
a:active {
  outline: none;
}

a,
a:focus,
a:hover {
  cursor: pointer;
  color: inherit;
  text-decoration: none;
}

div:focus {
  outline: none;
}


html,
body,
#root,
.app-wrapper {
  height: 100%;
}

body {
  font-size: 12px;

  .fn-clear:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0
  }

  .fn-clear {
    zoom: 1
  }

  .fn-left,
  .fn-right {
    display: inline
  }

  .fn-left {
    float: left
  }

  .fn-right {
    float: right
  }

  .fn-hide,
  .hidden {
    display: none
  }

  .m-20 {
    margin: 20px
  }

  .p-20 {
    padding: 20px;
  }

  .mt-5 {
    margin-top: 5px
  }

  .mt-10 {
    margin-top: 10px
  }

  .mt-15 {
    margin-top: 15px
  }

  .mt-20 {
    margin-top: 20px
  }

  .mt-30 {
    margin-top: 30px
  }

  .mt-50 {
    margin-top: 50px
  }

  .mr-5 {
    margin-right: 5px
  }

  .mr-10 {
    margin-right: 10px
  }

  .mr-15 {
    margin-right: 15px
  }

  .mr-20 {
    margin-right: 20px
  }

  .mr-30 {
    margin-right: 30px
  }

  .mr-50 {
    margin-right: 50px
  }

  .mb-5 {
    margin-bottom: 5px
  }

  .mb-10 {
    margin-bottom: 10px
  }

  .mb-15 {
    margin-bottom: 15px
  }

  .mb-20 {
    margin-bottom: 20px
  }

  .mb-30 {
    margin-bottom: 30px
  }

  .mb-50 {
    margin-bottom: 50px
  }

  .ml-5 {
    margin-left: 5px
  }

  .ml-10 {
    margin-left: 10px
  }

  .ml-15 {
    margin-left: 15px
  }

  .ml-20 {
    margin-left: 20px
  }

  .ml-30 {
    margin-left: 30px
  }

  .ml-50 {
    margin-left: 50px
  }

  .px-l {
    padding-left: 16px;
    padding-right: 16px;
  }

  .pt-5 {
    padding-top: 5px
  }

  .pt-10 {
    padding-top: 10px
  }

  .pt-15 {
    padding-top: 15px
  }

  .pt-20 {
    padding-top: 20px
  }

  .pt-30 {
    padding-top: 30px
  }

  .pt-50 {
    padding-top: 50px
  }

  .pr-5 {
    padding-right: 5px
  }

  .pr-10 {
    padding-right: 10px
  }

  .pr-15 {
    padding-right: 15px
  }

  .pr-20 {
    padding-right: 20px
  }

  .pr-30 {
    padding-right: 30px
  }

  .pr-50 {
    padding-right: 50px
  }

  .pb-5 {
    padding-bottom: 5px
  }

  .pb-10 {
    padding-bottom: 10px
  }

  .pb-15 {
    padding-bottom: 15px
  }

  .pb-20 {
    padding-bottom: 20px
  }

  .pb-30 {
    padding-bottom: 30px
  }

  .pb-50 {
    padding-bottom: 50px
  }

  .pl-5 {
    padding-left: 5px
  }

  .pl-10 {
    padding-left: 10px
  }

  .pl-15 {
    padding-left: 15px
  }

  .pl-20 {
    padding-left: 20px
  }

  .pl-30 {
    padding-left: 30px
  }

  .pl-50 {
    padding-left: 50px
  }

  .ft-orange {
    color: #f40
  }

  .ft-white {
    color: #fff
  }

  .ft-gray {
    color: #9a9a9a
  }

  .ft-black {
    color: rgba(0, 0, 0, .85);
  }

  .ft-darkgray {
    color: #606266
  }

  .ft-bd {
    font-weight: 700
  }

  .ft-12 {
    font-size: 12px
  }

  .ft-14 {
    font-size: 14px
  }

  .ft-16 {
    font-size: 16px;
  }

  .ft-18 {
    font-size: 18px
  }

  .ft-24 {
    font-size: 24px
  }

  .ft-12b {
    font-size: 12px;
    font-weight: 700
  }

  .ft-14b {
    font-size: 14px;
    font-weight: 700
  }

  .ft-16b {
    font-size: 16px;
    font-weight: 700;
  }

  .ft-18b {
    font-size: 18px;
    font-weight: 700
  }

  .ft-24b {
    font-size: 24px;
    font-weight: 700
  }

  .ft-bar {
    margin: 0 5px
  }

  .ft-center {
    text-align: center
  }

  .ft-right {
    text-align: right
  }

  .inline-block {
    display: inline-block;
    *display: inline;
    zoom: 1
  }

  .fn-pr {
    position: relative
  }

  .fn-pa {
    position: absolute
  }

  .block {
    display: block;
  }

  .nowrap {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .underline:hover {
    text-decoration: underline;
  }
}